1. Technical Field
Embodiments of the invention disclosed generally relate to systems and associated methods for managing power consumption in a data processing system. In particular, embodiments of the invention are directed to the management of power consumption states in a data processing system.
2. Description of the Related Art
To use energy efficiently, a data processing system provides multiple operating modes at which the processors of the data processing system can operate. For example, a first operating mode can be set to provide the highest performance of the processors (that is, running the processors at the highest speed available), but such a first operating mode also results in the highest power consumption. A second operating mode can be configured to provide the highest energy conservation, but such a second operating mode also typically results in the lowest performance of the processors. Hence, multiple operating modes for power consumption management in a data processing system involve, generally, tradeoffs between power consumption and system performance.
In the relevant technical field, the above mentioned operating modes are often referred to as power states (“pstates”). During operation of a data processing system, significant energy savings can be obtained through a suitable selection of an appropriate p-state for a given task that the data processing system is executing. For example, when the task is computing intensive (such as 3D gaming), the processor can be put in a high performance pstate. However, when the task requires low computing support (such as intermittently editing a text file), the processor can be put in a low performance pstate. Choosing the wrong pstate for a given computing task can have deleterious implications for both energy savings and performance. By way of illustration, if a low performance pstate is selected when the computing task is 3D gaming, the system performance would very likely be unacceptable, as the speed of the processor would not be capable of keeping up with the demands of the gaming application. On the other side of the spectrum, if a high performance pstate is selected when the computing task is a simple word processing task, the data processing system would waste a significant amount of energy by running at a power level much higher than what is needed for the simple computing task.
In some data processing systems, selection of a pstate depends not only on the varying performance demands of the data processing system, but additionally, the temperature, voltage, and clock speed of the processors are also taken into account. Some data processing systems may base the pstate selection on the energy cost and time delay associated with transitioning from one pstate to another.
The inventive systems and method disclosed here provide alternative ways of managing the pstates in a data processing system.